package sifeap.entities.eventos;

import java.io.Serializable;
import javax.persistence.*;

import sifeap.entities.usuarios.Usuario;

import java.util.Date;


/**
 * The persistent class for the eventos database table.
 * 
 */
@Entity
@Table(name="eventos", schema="sifeap")
public class Evento implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name = "IDEVENTO_GENERATOR", sequenceName = "SEQ_EVENTOS", schema="sifeap", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "IDEVENTO_GENERATOR")
	@Column(unique=true, nullable=false, precision=8)
	private Long idEvento;

	@Column(length=256)
	private String descripcion;

	@Temporal(TemporalType.DATE)
	@Column(nullable=false)
	private Date fechaEvento;

	@Temporal(TemporalType.DATE)
	@Column(nullable=false)
	private Date finVigencia;

	@Temporal(TemporalType.TIMESTAMP)
	private Date horaEvento;

	@Temporal(TemporalType.DATE)
	@Column(nullable=false)
	private Date inicioVigencia;

	@Column(nullable=false, length=256)
	private String nombre;

	//bi-directional many-to-one association to Usuario
	@ManyToOne
	@JoinColumn(name="nombreusuario", nullable=false)
	private Usuario usuario;

	public Evento() {
	}

	public Long getIdEvento() {
		return this.idEvento;
	}

	public void setIdEvento(Long idEvento) {
		this.idEvento = idEvento;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Date getFechaEvento() {
		return this.fechaEvento;
	}

	public void setFechaEvento(Date fechaEvento) {
		this.fechaEvento = fechaEvento;
	}

	public Date getFinVigencia() {
		return this.finVigencia;
	}

	public void setFinVigencia(Date finVigencia) {
		this.finVigencia = finVigencia;
	}

	public Date getHoraEvento() {
		return this.horaEvento;
	}

	public void setHoraEvento(Date horaEvento) {
		this.horaEvento = horaEvento;
	}

	public Date getInicioVigencia() {
		return this.inicioVigencia;
	}

	public void setInicioVigencia(Date inicioVigencia) {
		this.inicioVigencia = inicioVigencia;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}